#ifndef _DRAW_H_
#define _DRAW_H_
#include "global.h"
#include <D3DX11.h>
#include <d3d9types.h>
#include <DWrite.h>
#include <Shlwapi.h>


extern HMODULE ths;
extern char inipath[MAX_PATH];
typedef SHORT
(WINAPI*
pfnGetAsyncKeyState)(
	_In_ int vKey);
bool SolidColorBrushInit();
bool TextFormatInit();
void DrawRectangle(float X, float Y, float W, float H, D3DCOLOR Color, float Width = 1.0f, float Alpha = 1.0f);
//void DrawEllipse(float X, float Y, float RadiusX, float RadiusY, D3DCOLOR Color, float Width = 1.0f, float Alpha = 1.0f);
void DrawFillRectangle(float X, float Y, int W, int H, D3DCOLOR Color, float Alpha = 1.0f);
void DrawLine(int X, int Y, int XX, int YY, D3DCOLOR Color, float Width = 1.0f, float Alpha = 1.0f);
void DrawRenderText(int X, int Y, WCHAR* text, D3DCOLOR Color, float size);
void DrawRenderText2(int X, int Y, WCHAR* text, D3DCOLOR Color, float size);
void DrawHalfRectangle(float X, float Y, float W, float H, D3DCOLOR Color, float Width =2.0f, float Alpha = 1.0f);
void DrawVerticalHealth(bool isVis,float Health, float MaxHealth,  int X, int Y, int W, int H);
void DrawTransverseHealth(bool bVis,float Health, float MaxHealth, int X, int Y, int W, int H);
//void DrawDistance(float Distance, int X, int Y);
void DrawTimedLine(int X, int Y, int XX, int YY, D3DCOLOR Color, DWORD time, float Width = 1.0f, float Alpha = 1.0f);
void DrawTimedHalfRectangle(float X, float Y, float W, float H, D3DCOLOR Color, DWORD time, float Width = 2.0f, float Alpha = 1.0f);
void AddTimedText(WCHAR*text, DWORD time,DWORD color);

class MyChack
{
public:
	int MyChackX, MyChackY, MyChackW, MyChackH;
	void MyCreateChack(int X, int Y, int W, int H, D3DCOLOR Color,WCHAR* Text);
		void MyChackClick(POINT MousePoint);	
		bool MyChackSelect;

};
class MyRadio
{
public:
	int MyRadioX, MyRadioY, MyRadioW, MyRadioH;
	void MyCreateRadio(int X, int Y, int W, int H, D3DCOLOR Color, WCHAR* Text);
	void MyRadioClick(POINT MousePoint);
	bool MyRadioSelect;

	

};
class MyMenu
{
public:
	bool DragMenu = false;
	bool MyMenuHideShow = true;


	int MyMenuX, MyMenuY, MyMenuW, MyMenuH;
	void MyCreateMenu(POINT MenuPoint, int W, int H, D3DCOLOR Color, WCHAR* Text);
	void MyClickPoint(POINT MousePoint);



	

};
class MyLootESPButton
{

public:
	int MyButtonX, MyButtonY, MyButtonW, MyButtonH,LootESPRange;
	void MyCreateButton(int X, int Y, int W, int H, D3DCOLOR Color);
	void MyButtonClick(POINT MousePoint);
	bool MyButtonSelect;

	MyLootESPButton()
	{
		
		//LootESPRange = GetPrivateProfileInt(VMPDSA("ESP"), VMPDSA("range"), 100, inipath);
	}
};

class MyHealthStyleBtn
{

public:
	int MyButtonX, MyButtonY, MyButtonW, MyButtonH, style;
	void MyCreateButton(int X, int Y, int W, int H, D3DCOLOR Color);
	void MyButtonClick(POINT MousePoint);
	BOOL MyButtonSelect;

	MyHealthStyleBtn()
	{

		//MyButtonSelect = GetPrivateProfileInt(VMPDSA("ESP"), VMPDSA("healthstyle"),1, inipath);
	}
};
class MyAimStyleBtn
{

public:
	int MyButtonX, MyButtonY, MyButtonW, MyButtonH, style;
	void MyCreateButton(int X, int Y, int W, int H, D3DCOLOR Color);
	void MyButtonClick(POINT MousePoint);
	int MyButtonSelect;

	MyAimStyleBtn()
	{

		//MyButtonSelect = GetPrivateProfileInt(VMPDSA("ESP"), VMPDSA("aimstyle"), 1, inipath);
	}
};

class MyAimStyleSelect
{

public:
	int MyButtonX, MyButtonY, MyButtonW, MyButtonH, style;
	void MyCreateButton(int X, int Y, int W, int H, D3DCOLOR Color);
	void MyButtonClick(POINT MousePoint);
	BOOL MyButtonSelect;

	MyAimStyleSelect()
	{

		//MyButtonSelect = GetPrivateProfileInt(VMPDSA("ESP"), VMPDSA("aimstyleselect"), 1, inipath);
	}
};
class MyHackWeaponStyleSelect
{

public:
	int MyButtonX, MyButtonY, MyButtonW, MyButtonH, style;
	void MyCreateButton(int X, int Y, int W, int H, D3DCOLOR Color);
	void MyButtonClick(POINT MousePoint);
	int MyButtonSelect;

	MyHackWeaponStyleSelect()
	{

		MyButtonSelect = 0;
	}
};

class MyAimBotHeight
{
public:
	int MyButtonX, MyButtonY, MyButtonW, MyButtonH;
	void MyCreateButton(int X, int Y, int W, int H, D3DCOLOR Color);
	void MyButtonClick(POINT MousePoint);
	int MyHeightInt=0;
};
class MyAimBotKey
{
public:
	int MyButtonX, MyButtonY, MyButtonW, MyButtonH;
	void MyCreateButton(int X, int Y, int W, int H, D3DCOLOR Color);
	void MyButtonClick(POINT MousePoint);
	DWORD MyHeightInt = 2;
};



class MyAimBotSpeed
{
public:
	int MyButtonX, MyButtonY, MyButtonW, MyButtonH;
	void MyCreateButton(int X, int Y, int W, int H, D3DCOLOR Color);
	void MyButtonClick(POINT MousePoint);
	int MyHeightInt = 0;
};
class MyChangeButton
{
public:
	int MyButtonX, MyButtonY, MyButtonW, MyButtonH;
	void MyCreateButton(int X, int Y, int W, int H, D3DCOLOR Color, WCHAR*Text);
	void MyButtonClick(POINT MousePoint);
	int MyHeightInt = 0;
};



extern MyMenu							MyMenuA;

extern MyAimStyleBtn					AimStyle;
extern MyAimStyleSelect					AimStyleSelect;
extern MyHealthStyleBtn					HealthStyle;

extern MyLootESPButton					LootStyle;
extern MyAimBotKey						AimBotKey;

extern IDWriteTextFormat*						pTextFormatItem;

extern  MyHackWeaponStyleSelect  HackWeaponStyle;
#endif